A web service contract is a long term agreement that allows consumers to interact with a web service. These contracts are intended to be backwards compatible, allowing the service and the consumers to evolve on different schedules. Today's service designers typically add new elements to their schema by changing the source code, adding the required business logic and rebuilding the service. This approach works for simple services.